home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_gnome-pim.idb / usr / freeware / share / idl / gnome-pim.idl.z / gnome-pim.idl
Encoding:
Text File  |  1999-07-16  |  2.4 KB  |  106 lines

  1.  
  2. module gnome_PIM {
  3.   
  4.   /* Exceptions */
  5.   exception PIM_busy{
  6.   };
  7.  
  8.  
  9.   struct vCard_X {
  10.     string name;
  11.     string val;
  12.   };
  13.  
  14.   typedef sequence<vCard_X> vCard_X_seq;
  15.  
  16.   /* We export the vCard information in unpacked form.  This means
  17.    * that fields with multiple items (ie. N) are unpacked into a
  18.    * structure.  In addition, escaped items are unescaped directly
  19.    * into a string */
  20.  
  21.   /* First, we define the unpacked fields in a structure */
  22.   struct vCard_N {
  23.     string family;        /* Public */
  24.     string given;         /* John */
  25.     string additional;    /* Quinlan */
  26.     string prefix;        /* Mr. */
  27.     string suffix;        /* Esq. */
  28.   };
  29.   struct vCard_BDAY {
  30.     /* hmmm -- is the time range needed here?
  31.      * I guess we should have a more universal time field. */
  32.     short year;
  33.     short month;
  34.     short day;
  35.   };
  36.   struct vCard_ADR {
  37.     string type; /* really needs to be better, i guess */
  38.     string pobox;
  39.     string extended_address;
  40.     string street_address;
  41.     string locality;
  42.     string region;
  43.     string postal_code;
  44.     string country_name;
  45.   };
  46.   struct vCard_TZ {
  47.     short offset; /* from UTC */
  48.     string name; /* ie. EST */
  49.     string locale; /* Raleigh/North America */
  50.   };  
  51.   struct vCard_GEO {
  52.     float LAT;
  53.     float LON;
  54.   };
  55.  
  56.   struct vCard_ORG {
  57.     string name;
  58.     string unit1;
  59.     string unit2;
  60.     string unit3;
  61.     string unit4;
  62.   };
  63.   /* Types -- see RFC 2426 for more details. */
  64.   struct vCard {
  65.     string FN;
  66.     vCard_N N;
  67.     string NICKNAME;
  68.     string PHOTO; /* how do we deal with binary data? */
  69.     vCard_BDAY BDAY;
  70.     vCard_ADR ADR;
  71.     vCard_ADR LABEL;
  72.     string TEL;
  73.     string EMAIL; /* only one email, I guess */
  74.     string MAILER;
  75.     vCard_TZ TZ;
  76.     vCard_GEO GEO;
  77.     string TITLE;
  78.     string ROLE;
  79.     string LOGO; /* more binary data */
  80.     string AGENT; /* uri or normal string */
  81.     vCard_ORG ORG;
  82.     string CATEGORIES;
  83.     string NOTE;
  84.     string PRODID; /* unimplemented, i guess... */
  85.     string REV;
  86.     string SORT_STRING; /* also unimplemented */
  87.     string SOUND; /* even more binary data */
  88.     string URL;
  89.     string UID;
  90.     string VERSION;
  91.     string CLASS;
  92.     string KEY; /* more binary data */
  93.  
  94.     vCard_X_seq X;
  95.   };
  96.   typedef sequence<vCard> vCard_seq;
  97.   
  98.   interface vCard_server {
  99.     vCard_seq get_records ();
  100.     
  101.     vCard get_record (in string UID);
  102.     void set_record (in string UID, in vCard record);
  103.   };
  104. };
  105.   
  106.